home *** CD-ROM | disk | FTP | other *** search
-
-
-
- Internet Experiment Note No. 200
-
- INTERNET PROJECT RESEARCH PLANNING REPORT
- David D. Clark
- MIT Laboratory for Computer Science
- Computer Systems and Communications Group
-
-
- 1. Introduction
- This paper represents a first attempt to provide a structure to the current
- and planned activities in the Internet project. It is particularly concerned
- with the evolution of the protocol architecture, and the identification of new
- functions which the protocol is to support. It attempts to identify the basic
- decisions which must be made as part of the planning process.
-
- -N.B.: This document is a draft. It is distributed at this time for
- comment and discussion only. Anyone using this document as a basis
- for project planning at this stage is extremely misguided.
-
- -The changes and extensions described here are not intended to have an
- impact on current host implementations of TCP and IP, except for
- hosts specifically involved in future research and demonstrations.
- Implementors only involved in realizing the currently defined level
- of service need not be concerned with this report.
-
- The Internet project has reached a point where it must provide a stable and
- usable service to its users. This is a painful but crucial stage in any system
- project which hopes to prove its point in the real world. Thus, our planning
- must now take into account two requirements, first that we provide a functional
- service, and second that we develop and integrate new functions into the
- existing architecture. There are several reasons why new functions must be
- added to the existing architecture. First, there are additional service
- requirements, which are not currently supported but which will be required
- before the service meet the currently forseen needs. Second, there are
- explicit research goals which have been established for the project, with
- announced demonstration dates. Third, there are additional research goals
- which are of interest to the participants in the project, and which are
- generally perceived as being appropriate and compatible with the internet
- philosophy. This last collection of topics can easily grow without bound,
- 2
-
- leading to a project so large as to be intractible. One of the first planning
- issues to be addressed is precisely what problems we choose to solve in this
- next research cycle, and what problems we choose to ignore.
-
- 2. Possible Research Topics
- The following list catalogues a number of areas in which future evolution of
- the architecture has been proposed. The comments provided with each section
- attempt to give some idea of the amount of thought which has already gone into
- this topic, and the range of options available for approaching each topic.
-
-
-
- 2.1. Types of Transport Services:
- The issue here is what sort of services will the transport layers of the
- architecture provide to the applications above. Currently, TCP provides the
- only wide-spread service, a bidirectional, reliable data stream. It is unclear
- whether TCP is the most suitable protocol for high bandwidth, high delay
- occasions, such as bulk transfer of data, and it is certainly clear that TCP is
- inappropriate for speech and other low delay, loss-tolerant applications.
- Other functions which might be useful include multicast rather than point-to-
- point data transmission. Speech is a clearly defined goal for internet
- support, but it is currently being supported only outside the internet
- architecture, using alternative protocols. To provide serious speech support,
- IP may have to be evolved to provide the necessary support.
-
- Other services such as bulk, high bandwidth transfer and multi-casting are
- not specifically required for demonstration or service. Thus, it may be
- possible to ignore these issues. On the other hand, it is reasonable to
- consider exploring these topics because it is probable that they can be
- examined somewhat in isolation, without a global upheaval to the entire
- architecture.
-
-
-
- 2.2. Addressing and Routing:
- As we proceed from an assumption of an internet with 50 nets to an internet
- with 1,000 nets, substantial upheavals will occur in the architecture and its
- implementations. The simple routing algorithm of sending to every gateway the
- location of every net, would require exchanging tables with 1,000 entries, and
- not only would this cause an overflow of limited gateway storage space, but it
- would also use up a substantial part of the network bandwidth if the system
- were at all responsive. Currently, the internet has a vaguely hierarchical
- structure, in which at the top there are nets and beneath this level is a
- substructure which is understood only by the net itself. Presumably, it will
- 3
-
- be necessary to generalize this structure by grouping nets into areas, which
- physically encompass several nets. However, this idea of areas is counter to
- an original internet goal, which is that individual networks should be
- connectable together in any configuration, with all possible physical paths
- being used as realizable routes through the internet. If there is a structure
- to the net, than only routes that conform to the structure will be realizable.
-
- I feel that a restriction of this sort on the internet is quite reasonable.
- An obvious structure for the internet is to imagine that there is a central
- cluster of nets which provide the function of long-haul transport. These
- transport nets would have connected to them additional sets of nets which
- provide an access function to the internet. Typical transport nets would be
- the ARPANET and SATNET: typical access nets would be local area nets and
- packet radio. The implication of this structure would be that the transport
- nets would never rely on the access nets for transport function.
-
- An additional complication of routing is the TYPE OF SERVICE field of IP.
- The TOS field is presumably used to affect the service provided by the
- individual nets: however, it also should serve the function of selecting among
- routes at the internet level. Currently, this function is completely missing.
- Adding it can only make the routing problem much more complicated.
-
-
-
- 2.3. Flow and Congestion Control:
- Currently, the internet has a simple mechanism for congestion control, the
- Source Quench Packet, which can variously be viewed as a choke packet or as an
- advisory overload packet. There is no evidence that this mechanism works very
- well; indeed there are substantial indications that it probably does not. As
- load builds up in the internet, and especially as we hook together networks
- whose basic speeds differ by orders of magnitude, it will be necessary to
- identify and implement a workable congestion mechanism.
-
- One decision currently undecided about the internet architecture is whether
- the congestion mechanism should include the concept of "enforcement". Most
- congestion mechanisms push back on their data sources in a manner that is not
- advisory, but mandatory. For example, networks selectively drop packets,
- disable communication, or simply refuse certain inputs. The internet can do
- none of these. If an input host ignores the congestion information currently
- offered, the increased degradation caused by this is not focused on the
- offending host, but is randomly distributed on all the traffic in the affected
- area. It would seem that some mechanism for enforcement would be appropriate.
- However, enforcement is very difficult, given one of the basic assumptions of
- the architecture, which is that the gateways have no state. Without state, it
- 4
-
- is impossible to keep track of whichthe offending host is so that it can be
- discriminated against. I feel that an important idea in this respect is that
- of "soft state", in which the gateways attempt to build up a model of the world
- by observing the traffic passing through them. If they should crash and lose
- this state information, no transport services is disrupted, but as long as the
- information exists, it permits the gateway to discard selectively those packets
- which appear to be violating the congestion control restrictions currently in
- effect.
-
-
-
- 2.4. Distributed Control:
- An important question about the internet is the extent to which its ownership
- and management is decentralized. It was originally a design goal that various
- gateways would be implemented by different organizations, and the individual
- networks out of which the internet is built were certainly expected to be
- managed by separate organizations. Realistically, decentralized management is
- an important goal in the long term. However, it clearly makes development and
- operation much more difficult. Currently, essentially all of the central
- gateways as well as the important transport nets are all operated by BBN. A
- specific decision is required as to whether this situation is to be exploited,
- in order to simplify the next round of implementations, or whether distributed
- operation is to be deliberately injected into the system as an additional
- research goal.
-
- A problem closely related to this is the interaction between the existing
- service internet and some evolved internet being used as a testbed for these
- advanced topics. It will, at a minimum, be necessary to construct some sort of
- firewall between the experimental environment and the service environment, so
- that they can interact without destroying each other.
-
-
-
- 2.5. Partitioned Networks
- This is a critical research goal, because it has been explicitly identified
- for demonstration in the two to three year timeframe. The specific
- demonstration involves attaching high power packet radios to the ARPANET at
- appropriate locations, providing airborne packet radios which are able to
- communicate with these ground based radios, and then severing the landlines in
- the ARPANET and using the packet radios to reconstitute ARPANET service.
-
- There are two ways to approach this problem: at the network level or at the
- internetwork level. The network level solution, in which the imps are taught
- about the existence of the packet radio links, is clearly the simpler of the
- 5
-
- two. Among other things, it requires no modification of the host software.
- The internetwork solution, in which knowledge of the packet radio links is
- restricted to the hosts and the gateways, is a more challenging solution, but
- one which is more in line with the original goals of the current cycle of
- research. I propose that the problem be solved at the internetwork level, but
- this requires an upgrade in the sophistication of the host routing algorithm,
- so that failures to communicate with the host apparently located on the same
- network trigger the kind of internet rerouting which would normally be invoked
- only for a pathway known to pass through intermediate gateways.
-
- There are other problems that resemble net partition. The "expressway
- routing" concept is that a host or gateway may select an internet path to
- bypass a network, even when the net is fully functional. This sort of action
- would require that the mechanisms designed to support partition be used under
- normal operations, not just under crisis conditions.
-
-
-
- 2.6. Improved Effectiveness:
- This somewhat vague title covers a number of important topics. Currently,
- the TCP specification describes logically correct operations, but makes only
- limited reference to efficient operation. Issues such as window management and
- the timing of acknowledgements are left as an exercise for the implementor.
- Bad design decisions in this area lead to the symptoms sometimes referred to as
- Silly Window Syndrome. It is important that the specification be expanded to
- include sufficient information to prevent this sort of inappropriate operation.
- An area in which this will become immediately visible is in the use of public
- data networks to carry internet packets. Most tariffs for public nets are
- based on the number of packets, and the window algorithms and acknowledgment
- generation algorithms strongly influence the number of packets required to send
- a given amount of data. There will be a pressing cost requirement to eliminate
- inappropriate implementations. Even where cost is not measured in dollars, the
- perceived effectiveness of these protocols is an important component of their
- acceptability to potential users.
-
-
-
- 2.7. Access Control:
- Plans are already underway in the short term to provide some controls over
- who can use the internet, in particular by the addition of passwords to the
- TAC. However, in the long run, much more must be done. The current protection
- strategy is based on the assumption that individual hosts are sufficiently
- responsible to restrain their users. As long as we have large time-shared
- computers, this assumption is still somewhat workable. However, we are moving
- 6
-
- as rapidly as possible away from this position to a position in which personal
- computers are allocated to individual users, which provides no management
- strategy to ensure that the individual users of these computers, who are
- presumably attached to local nets over which no access control is imposed,
- refrain from going through these local nets to reach long haul nets whose use
- is limited. The most extreme example of this currently in the internet are the
- personal computers belonging to students at universities such as M.I.T. As
- part of M.I.T.'s policy toward its local net, these students are being invited
- to attach to the local net as rapidly as possible. However, the local net is
- attached to the ARPANET, and there is no mechanism which can prevent these
- students form utilizing the ARPANET from their personal computers. Clearly, it
- is ridiculous to expect the students to voluntarily refrain. The only possible
- mechanism is an access control algorithm in the gateway. But by the basic
- architectural assumptions of internet, this is almost impossible to provide,
- because the gateway lacks the information to discriminate between legitimate
- and undesirable users. The only information available to the gateway are the
- original and destination addresses, but short of a complete list enumerating
- all of the used addresses at M.I.T., which might potentially be very long, the
- address is not a sufficient indicator of validity. A decision must be made
- whether or not this problem is to be solved. If it is, some substantial work
- will be required.
-
- Access control and routing interact in an important way in the gateway. The
- access decision is not a simple yes/no control, but a selection of route based
- on privilege. For some nets, it will also be necessary to collect billing
- information, which requires the same sort of unforgable identification as does
- access control.
-
-
-
- 2.8. Performance Evaluation:
- There are currently a number of activities under way to evaluate the
- performance of the internet. Some of these are being done as part of
- operational management of the internet. Others are being done by various users
- of the internet from their particular vantage point to evaluate the service
- made available to them. These projects are not especially well coordinated at
- the moment, and the results they gather are not being used in other than a very
- general sense to evaluate and identify problems with the internet. Currently,
- it is difficult to improve the quality of the measurements being made, because
- there is not space available in the gateways to improve the metering and
- instrumentation which is installed there. A new version of the gateway code is
- now being developed by BBN which will have more space for new code.
-
- At a more philosophical level, we lack even a metric against which to compare
- 7
-
- our work. What constitutes a "good" internet? Superficially, one thinks of
- things like low delay, high bandwidth, and reliability. But actually,
- depending on the class of service being used, these individual goals may or may
- not be desirable. In fact, a good internet is probably one which has the
- flexibility to conform to a variety of offered loads, rather than doing a
- superb job of meeting exactly one application class. In the long run, it would
- be worthwhile trying to identify what goal we are attempting to meet, before
- rather than after we meet it.
-
- 3. Discussion
- As the preceding list suggests, it is possible to put together a wish list of
- internet features which is unworkably large. One of the first problems we must
- face is doing some delicate but effective pruning upon this list to bring it to
- a managable size. Having done this, it will be necessary to make some rather
- difficult decisions about the general structure into which our future solutions
- must fit. The above list raises some very important questions about the shape
- of the internet. For example, the partitioning question most clearly raises
- the issue of whether or not hosts connected to each other over a single net
- view themselves as being connected to a network or to an internet. It is silly
- to proceed until we have an answer to that question. Two other important
- questions are the extent to which constraints are imposed on the workable
- topologies of the internet, and the extent to which the internet is assumed to
- be owned and operated by one or many organizations.
-
- The short time schedule for the announced demonstrations require that
- progress on this list of functions be fairly rapid. The need for quick
- progress suggests two conclusions to me. We will not achieve our goals if we
- attempt to get there by a series of small incremental steps from where we are
- now. Many of the functional requirements listed above interact with each other
- in a very strong way, and it will be necessary to take all of these
- requirements into account as we do a design for the final service. An
- incremental approach will only trick us into thinking that we could ignore some
- of these issues and attack others first. I believe that will not work in this
- case. We must attempt to stabilize the service we have now and then live with
- that service for some time, perhaps a year or more, during which time we
- develop the followup, which will ultimately be used for the demonstrations
- scheduled in the two to three year time frame. Given this conclusion, it then
- follows we should attempt to minimize those functions which we advertise as
- part of the current service we are attempting to stabilize, because any effort
- investigated in expanding the current service is effort which is diverted from
- the long-term design problem.
- 8
-
- 4. Milestones
- It is my hope that a working version of this document will be produced not
- later than the meeting of the ICCB in January. Anyone with comments is
- requested to send them to DClark at MIT-Multics before that time.
-
- -------
-